/**
 * 
 *@author huangyuhao
 *@creatTime "2018年4月20日下午2:59:03"
 *@version 1.0
 */
var $table = $('#table');
var urlPart="/common/busTicketManager/busStationDownlist";//default value
Date.prototype.Format = function(fmt)   
{ 
  var o = {   
    "M+" : this.getMonth()+1,                 //月份   
    "d+" : this.getDate(),                    //日
    "h+" : this.getHours(),                   //小时   
    "m+" : this.getMinutes(),                 //分   
    "s+" : this.getSeconds(),                 //秒   
    "q+" : Math.floor((this.getMonth()+3)/3), //季度   
    "S"  : this.getMilliseconds()             //毫秒   
  };   
  if(/(y+)/.test(fmt))   
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
  for(var k in o)   
    if(new RegExp("("+ k +")").test(fmt))   
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
  return fmt;   
}; 
$(function() {
	//加载datepicker类
	$(".form_datetime").datetimepicker({
		format: 'yyyy-mm-dd',//显示格式
		todayHighlight: 1,//今天高亮
		minView: "month",//设置只显示到月份
		startView:2,
		forceParse: 0,
		showMeridian: 1,
		autoclose: 1//选择后自动关闭
	});
	//隐藏车次区域
	$("#checiArea").hide();
	//设置table的样式内容
	$table.bootstrapTable({
	//url : getRootPath_web()+urlPart,
	url : '',//no-loading data first
	//data //load json data
	method : 'post',
	contentType : "application/x-www-form-urlencoded",//必须要有！！！！
  	dataType:'json',
  	idField : 'StationId',// 指定主键列
  	singleSelect : false,
  	sidePagination : 'server',//指定服务器端分页
  	striped: true,
  	search : false,
  	cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
  	pagination : true, // 是否显示分页（*）
  	sortable : false, // 是否启用排序
  	sortOrder : "asc", // 排序方式
  	queryParamsType : 'limit',//查询参数组织方式
  	queryParams : queryParams,// 传递参数（*）
   	pageNumber : 1, // 初始化加载第一页，默认第一页
  	pageSize : 10, // 每页的记录行数（*）
  	pageList : [10,20,50,100], // 可供选择的每页的行数（*）
    showColumns: true,
    showRefresh: true,
  	columns : [
  		{
  			field : '',
  			checkbox : true
  		},{
  			field : 'DownRecordId',
  			title : '下线记录标识',
  			align : 'center',
  			visible: false
  		},{
  			field : 'CityName',
  			title : '城市名称',
  			align : 'center'
  		},{
  			field : 'FullName',
  			title : '车站名称',
  			align : 'center'
  		},{
  			field : 'State',
  			title : '状态',
  			align : 'center',
  			formatter : function(value, row, index) {//annotation 布置两组按钮操作？
  				if (value==0) {
  					return '下线';
  				} else {
  					return '上线';
  				}
  			}
  		},{
  			field : 'Czr',
  			title : '操作人',
  			align : 'center'
  		}, {
  			field : 'CzDate',
  			title : '下线日期',
  			align : 'center',
  			formatter: function (value, row, index) {
	           if (value == null) {
	               return "";
	           }
	           var offlineTimeStr = new Date(value).Format("yyyy-MM-dd hh:mm:ss");
	           return offlineTimeStr;
  			}
  		},{
  			field : 'DownLineReason',
  			title : '下线原因',
  			align : 'center',
  			formatter : function(value, row, index) {
  				return "<button type='button' class='btn btn-info btn-sm' onclick='showDlReason("+index+")'>查看下线原因</button>";
  			}
  		},{
  			field : 'Manipulate',
  			title : '操作',
  			align : 'center',
  			formatter : function(value, row, index) {//annotation 布置两组按钮操作？
  				var value = row.State;
  				if (value == 0) {//下线
  					return "<button type='button' class='btn btn-info btn-sm' onclick='upLine("+index+")'>上线</button>";
  				} else {//上线
  					return "<button type='button' class='btn btn-info btn-sm'onclick='downLine("+index+")'>下线</button>";
  				}
  			}
  		}
		]
	});
	
	//设置form验证
	$("#downLineForm").bootstrapValidator({ 
		live: 'disabled',//验证时机，enabled是内容有变化就验证（默认），disabled和submitted是提交再验证
		excluded: [':disabled', ':hidden', ':not(:visible)'],//排除无需验证的控件，比如被禁用的或者被隐藏的  
		message: '通用的验证失败消息',//好像从来没出现过  
	    feedbackIcons: {//根据验证结果显示的各种图标  
	        valid: 'glyphicon glyphicon-ok',  
	        invalid: 'glyphicon glyphicon-remove',  
	        validating: 'glyphicon glyphicon-refresh'  
	    },  
	    fields: {
	    	dlReasonText:{
	    		validators: {
	                notEmpty: {
	                    message: '请填写车站下线原因'
	                }
	            }
	    	}
	    }
	});
});
//车站上线操作
function upLine(index){
	var currentrow = $table.bootstrapTable('getData', {useCurrentPage:true})[index];
	var data={"stationId":currentrow.StationId};
	urlPart="/common/busTicketManager/upLine";
	$.ajax({
    url:getRootPath_web()+urlPart,
    type:"post",
    data:data,
    dataType:"json",
    success:function(data){
        console.log(data);
        $.tips({
  				content : data.msg,
  				autoClose : 'cancel|3000'
  			});
  			$table.bootstrapTable('refresh');  //刷新
    },
    error:function(){
     
    }
  });
}
//车站下线
function downLine(index){
	 $("#rowIndex").val(index);
	 $("#downLineReasonModal").modal('show');
	 //如何获取数据
	/*var currentrow = $table.bootstrapTable('getData', {useCurrentPage:true})[index];
	var currentDate = new Date(new Date().getTime()).Format("yyyy-MM-dd hh:mm:ss");//获取当前日期字符串格式
	
	var data={
			"stationId":currentrow.StationId,
			"czdate":currentDate
	};
	urlPart="/common/busTicketManager/downLine";

	$.ajax({
    url:getRootPath_web()+urlPart,
    type:"post",
    data:data,
    dataType:"json",
    success:function(data){
      console.log(data);
      $.tips({
				content : data.msg,
				autoClose : 'cancel|3000'
			});
			$table.bootstrapTable('refresh');  //刷新
    },
    error:function(){
     
    }
  });*/
}
//查看下线原因
function showDlReason(index) {
	var currentrow = $table.bootstrapTable('getData', {useCurrentPage:true})[index];
	$("#downLineLookModal").modal("show");
	$("#dlReasonLook").val(currentrow.DownLineReason);
}

//重置搜索条件
$('#reset').click(function(){
	$("#fullName").val("");
	$("#checiId").val("");
	$("#startTime").val("");
	$("#endTime").val("");
});
//查询方法
$('#search').click(function(){
	var formData={};
	var fullName =$("#fullName").val();
	var checiId =$("#checiId").val();
	var startTime =$("#startTime").val();
	var endTime =$("#endTime").val();
	var busStateInfo = $("#busStateInfo").val();

	/**
	 * 根据根据state的值去配置formDate和opt
	 */
	if(busStateInfo==0){//下线状态
		formData={
			"fullName":fullName,
			"startTime":startTime,
			"endTime":endTime,
			"busStateInfo":busStateInfo
		}
		urlPart="/common/busTicketManager/busStationDownlist";
	} else {//上线状态
		if(checiId == null || checiId ==""){//车次必填
			$.tips({
				content : "车次必填！",
				autoClose : 'cancel|2000'
			});
			return;
		}
		formData={
			"checiId":checiId,
			"busStateInfo":busStateInfo
		}
		urlPart="/common/busTicketManager/busStationUplist";
	}
	
	var opt = {
      url: getRootPath_web()+urlPart,
      silent: true,
      query:formData
	};
  //显示对话框模型
	$("#addDialog").modal('show');
	//刷新table $table.bootstrapTable(method, parameter);
	$table.bootstrapTable('refresh', opt);
	/*$.ajax({
    url:"text.php",
    type:"post",
    data:{send:value},
    dataType:"josn",
    success:function(res){
        console.log(res);
    },
    error:function(){
     
    }
  })*/
	//$table.bootstrapTable('refresh', opt);//mean what’s？
});
//table加载成功时触发
$table.on('load-success.bs.table',function(data){
  $("#addDialog").modal('hide');
});
$("#busStateInfo").change(function(){
  var value=$(this).val();
  if(value == 1){//表示选中上线状态
  	$("#cheStationArea").hide();
  	$("#startTimeArea").hide();
  	$("#endTimeArea").hide();
  	$("#checiArea").show();
  	$table.bootstrapTable("hideColumn", "CzDate");
  	$table.bootstrapTable("hideColumn", "Czr");
  	$table.bootstrapTable("hideColumn", "DownLineReason");
  } else {
  	$("#cheStationArea").show();
  	$("#startTimeArea").show();
  	$("#endTimeArea").show();
  	$("#checiArea").hide();
  	$table.bootstrapTable("showColumn", "CzDate");
  	$table.bootstrapTable("showColumn", "Czr");
  	$table.bootstrapTable("showColumn", "DownLineReason");
  }
  $table.bootstrapTable("removeAll");
});

//下线原因填写后保存触发
$('#dlReasonSave-btn').click(
		function() {
			var currentrow = $table.bootstrapTable('getData', {useCurrentPage:true})[$("#rowIndex").val()];
			var DownLineReason = $("#dlReasonText").val();
			
			$("#downLineForm").bootstrapValidator('validate');//提交验证  
	        if (!$("#downLineForm").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码  
	            return;
	        }
			//转换成字符数组
			var formData ={
				"stationId":currentrow.StationId,
				"DownLineReason":DownLineReason
			};
			$.post(getRootPath_web()+'/common/busTicketManager/downLine',
					formData, function(data) {
						$('#downLineReasonModal').modal('hide');
						$.tips({
							content : data.msg,
							autoClose : 'cancel|3000'
						});
						$table.bootstrapTable('refresh');  //刷新
					});
		}
);

//请求服务数据时所传参数
function queryParams(params) {
	var formData={};
	var fullName =$("#fullName").val();
	var checiId =$("#checiId").val();
	var startTime =$("#startTime").val();
	var endTime =$("#endTime").val();
	var busStateInfo = $("#busStateInfo").val();
	if(busStateInfo==0){//下线状态
		formData={
			"limit" : params.limit,
			"offset" : params.offset,				
			"fullName":fullName,
			"startTime":startTime,
			"endTime":endTime,
			"busStateInfo":busStateInfo
		}
	}else {//上线状态
		if(checiId == null || checiId ==""){//车次必填
			$.tips({
				content : "车次必填！",
				autoClose : 'cancel|2000'
			});
			return;
		}
		formData={
			"limit" : params.limit,
			"offset" : params.offset,	
			"checiId":checiId,
			"busStateInfo":busStateInfo
		}
	}
	return formData;
}